package org.wdcode.common.constants;

/**
 * 加密常量
 * @author WD
 * @since JDK6
 * @version 1.0 2009-11-20
 */
public final class EncryptConstants {
	/* 信息摘要算法 */
	/**
	 * 加密算法 MD2
	 */
	public final static String	ALGO_MD2;
	/**
	 * 加密算法 MD5
	 */
	public final static String	ALGO_MD5;
	/**
	 * 加密算法 SHA-1
	 */
	public final static String	ALGO_SHA_1;
	/**
	 * 加密算法 SHA-256
	 */
	public final static String	ALGO_SHA_256;
	/**
	 * 加密算法 SHA-384
	 */
	public final static String	ALGO_SHA_384;
	/**
	 * 加密算法 SHA-512
	 */
	public final static String	ALGO_SHA_512;

	/* 对称加密算法 */
	/**
	 * 加密算法 DES
	 */
	public final static String	ALGO_DES;
	/**
	 * 加密算法 AES
	 */
	public final static String	ALGO_AES;
	/**
	 * 加密算法 RC2
	 */
	public final static String	ALGO_RC2;

	/**
	 * 加密算法 RC4
	 */
	public final static String	ALGO_RC4;

	/**
	 * 静态初始化
	 */
	static {// RC2 RC4
		// 加密算法 MD5
		ALGO_MD2 = "MD2";
		// 加密算法 MD5
		ALGO_MD5 = "MD5";
		// 加密算法 SHA-256
		ALGO_SHA_1 = "SHA-1";
		// 加密算法 SHA-1
		ALGO_SHA_256 = "SHA-256";
		// 加密算法 SHA-384
		ALGO_SHA_384 = "SHA-384";
		// 加密算法 SHA-512
		ALGO_SHA_512 = "SHA-512";
		// 加密算法 DES
		ALGO_DES = "DES";
		// 加密算法RC2
		ALGO_AES = "AES";
		// 加密算法 DES
		ALGO_RC2 = "RC2";
		// 加密算法RC4
		ALGO_RC4 = "RC4";
	}

	/* 不可逆加密算法 */
	/**
	 * 加密算法 HmacSHA1
	 */
	public final static String	ALGO_HMAC_SHA1;

	/**
	 * 静态初始化
	 */
	static {
		// 加密算法 HmacSHA1
		ALGO_HMAC_SHA1 = "HmacSHA1";
	}

	/**
	 * 私有构造禁止外部实例化
	 */
	private EncryptConstants() {}
}
